package com.youlai.boot.diet.service;

import com.youlai.boot.diet.model.entity.DietPlan;
import com.youlai.boot.diet.model.form.DietPlanForm;
import com.youlai.boot.diet.model.query.DietPlanQuery;
import com.youlai.boot.diet.model.vo.DietPlanVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.common.model.WeekCalendarVO;

import java.util.List;

/**
 * 饮食计划服务类
 *
 * @author cuisheng
 * @since 2025-03-30 19:06
 */
public interface DietPlanService extends IService<DietPlan> {

    /**
     *饮食计划分页列表
     *
     * @return
     */
    IPage<DietPlanVO> getDietPlanPage(DietPlanQuery queryParams);

    /**
     * 获取饮食计划表单数据
     *
     * @param id 饮食计划ID
     * @return
     */
     DietPlanForm getDietPlanFormData(Long id);

    /**
     * 新增饮食计划
     *
     * @param formData 饮食计划表单对象
     * @return
     */
    boolean saveDietPlan(DietPlanForm formData);

    /**
     * 修改饮食计划
     *
     * @param id   饮食计划ID
     * @param formData 饮食计划表单对象
     * @return
     */
    boolean updateDietPlan(Long id, DietPlanForm formData);

    /**
     * 删除饮食计划
     *
     * @param ids 饮食计划ID，多个以英文逗号(,)分割
     * @return
     */
    boolean deleteDietPlans(String ids);

    List<WeekCalendarVO> weekCalendar(List<String> dates);
}
